<HTML>

<HEAD>
<!-- Generated by CppDoc v2.4.1 on June 07, 2008 at 22:48-->

	<META NAME="GENERATOR" Content="CppDoc">
	<TITLE>Nestopia Core API: Nes::Core::Sound::Output</TITLE>

</HEAD>

<BODY>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#eeeeff">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-overview-summary.html"><B>Overview</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-summary.html"><B>Project</B></a>&nbsp;</TD>
  <TD BGCOLOR="navy"> <FONT COLOR="white">&nbsp;<B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-tree.html"><B>Tree</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-deprecated-list.html"><B>Deprecated</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-all.html"><B>Index</B></a>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Nestopia Core API</B></EM>
</TD>
</TR>

<TR>
<TD><FONT SIZE="-2">
  <a href="../../index.html" target="_top"><B>FRAMES</B></a>  &nbsp;
&nbsp;<a href="../api/Nes..Core..Sound..Output.html" target="_top"><B>NO FRAMES</B></a></FONT></TD>
</TR>
<TR>
<TD VALIGN="top"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
api</FONT>
<BR>
Class  Nes::Core::Sound::Output</H2>
<HR>
<DL>
<DT>class <B><a href="../api/Nes..Core..Sound.html">Nes::Core::Sound</a>::Output</B></DT></DL>

<p>Sound output context.
<p>

<HR>


<!-- =========== INNER CLASSES, TYPEDEFS, ENUMS =========== -->

<A NAME="inner_defs_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Inner Classes, Typedefs, and Enums</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>typedef</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Core..Sound..Output..LockCallback.html">Nes::Core::Sound::Output::LockCallback</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sound lock callback prototype.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>typedef</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Core..Sound..Output..UnlockCallback.html">Nes::Core::Sound::Output::UnlockCallback</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sound unlock callback prototype.</TD>
</TR>
</TABLE>
&nbsp;

<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;uint[ 2 ]</CODE></FONT></TD>
<TD><CODE><B><a href="#length">length</a></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Length in <b>number of</b> samples for one frame.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static <a href="../api/Nes..Core..Sound..Output..Locker.html">Nes::Core::Sound::Output::Locker</a></CODE></FONT></TD>
<TD><CODE><B><a href="#lockCallback">lockCallback</a></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sound lock callback manager.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;void*[ 2 ]</CODE></FONT></TD>
<TD><CODE><B><a href="#samples">samples</a></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pointer to sound memory to be written to.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static <a href="../api/Nes..Core..Sound..Output..Unlocker.html">Nes::Core::Sound::Output::Unlocker</a></CODE></FONT></TD>
<TD><CODE><B><a href="#unlockCallback">unlockCallback</a></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sound unlock callback manager.</TD>
</TR>
</TABLE>
&nbsp;

<!-- =========== CONSTRUCTOR SUMMARY =========== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD><CODE><B><a href="#Output(void*,uint,void*,uint)">Output</a></B>( void* s0 = 0, uint l0 = 0, void* s1 = 0, uint l1 = 0 )</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;

<BR>
<BR>
<!-- ============ Field Detail ========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="length"><!-- --></A>
<A NAME="length"><!-- --></A>
<H3>length</H3>
<PRE>
public uint <B>length</B>[ 2 ];
</PRE>
<DL>
<DD>Length in <b>number of</b> samples for one frame.
Assign 0 to length[1] if circular buffers aren't needed.
Length doesn't neccesarily need to be the same value for every frame as long
as they eventually add up in relation to the emulation speed. The requested
number of samples will always be written even if the length is greater
than what the sound engine normally produces. Non-written samples for one frame will
be carried over to the next through an internal buffer.
</DD>

</DL>
<HR>

<A NAME="lockCallback"><!-- --></A>
<A NAME="lockCallback"><!-- --></A>
<H3>lockCallback</H3>
<PRE>
public static <a href="../api/Nes..Core..Sound..Output..Locker.html">Nes::Core::Sound::Output::Locker</a> <B>lockCallback</B>;
</PRE>
<DL>
<DD>Sound lock callback manager.
Static object used for adding the user defined callback.
</DD>

</DL>
<HR>

<A NAME="samples"><!-- --></A>
<A NAME="samples"><!-- --></A>
<H3>samples</H3>
<PRE>
public void* <B>samples</B>[ 2 ];
</PRE>
<DL>
<DD>Pointer to sound memory to be written to.
Assign NULL to samples[1] if circular buffers aren't needed.
</DD>

</DL>
<HR>

<A NAME="unlockCallback"><!-- --></A>
<A NAME="unlockCallback"><!-- --></A>
<H3>unlockCallback</H3>
<PRE>
public static <a href="../api/Nes..Core..Sound..Output..Unlocker.html">Nes::Core::Sound::Output::Unlocker</a> <B>unlockCallback</B>;
</PRE>
<DL>
<DD>Sound unlock callback manager.
Static object used for adding the user defined callback.
</DD>

</DL>
<HR>

<BR>
<!-- ============ Constructor Detail ========== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="Output(void*,uint,void*,uint)"><!-- --></A>
<A NAME="Output"><!-- --></A>
<H3>Output</H3>
<PRE>
public <B>Output</B>( void* s0 = 0, uint l0 = 0, void* s1 = 0, uint l1 = 0 );
</PRE>
<DL>
<DD></DD>

</DL>
<HR>

<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#eeeeff">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-overview-summary.html"><B>Overview</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-summary.html"><B>Project</B></a>&nbsp;</TD>
  <TD BGCOLOR="navy"> <FONT COLOR="white">&nbsp;<B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-tree.html"><B>Tree</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-deprecated-list.html"><B>Deprecated</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-all.html"><B>Index</B></a>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Nestopia Core API</B></EM>
</TD>
</TR>

<TR>
<TD><FONT SIZE="-2">
  <a href="../../index.html" target="_top"><B>FRAMES</B></a>  &nbsp;
&nbsp;<a href="../api/Nes..Core..Sound..Output.html" target="_top"><B>NO FRAMES</B></a></FONT></TD>
</TR>
<TR>
<TD VALIGN="top"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>


</BODY>

</HTML>

